#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# vim: tabstop=4 shiftwidth=4 softtabstop=4
#
# Copyright (C) 2018-2019 GEM Foundation
#
# OpenQuake is free software: you can redistribute it and/or modify it
# under the terms of the GNU Affero General Public License as published
# by the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# OpenQuake is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with OpenQuake.  If not, see <http://www.gnu.org/licenses/>.

from openquake.baselib import hdf5, sap
from openquake.hazardlib import nrml, sourceconverter


def xml2hdf5(fname):
    sc = sourceconverter.SourceConverter(
        area_source_discretization=10, width_of_mfd_bin=.1)
    sm = nrml.to_python(fname, sc)
    hdf5path = fname.replace('.xml', '.hdf5')
    with hdf5.File(hdf5path, 'w') as f:
        f['/'] = sm
    print('Saved %s' % hdf5path)


xml2hdf5.fname = 'source model file in XML format'

if __name__ == '__main__':
    sap.run(xml2hdf5)
